package cn.jll.dev.utils.os;

/**
 * @description: 获取操作系统类型工具
 * @author: jinleilei
 * @create: 2019-07-11 09:32:53
 * @Version: v1.0
 **/
public class OSUtil {
    private static final String CONST_WIN = "win";
    private static final String CONST_MAC = "mac";
    private static final String CONST_NIX = "nix";
    private static final String CONST_NUX = "nux";
    private static final String CONST_AIX = "aix";


    /**
     * 从系统配置中获取操作系统名称
     */
    private static String OS = System.getProperty("os.name").toLowerCase();


    /**
     * 操作系统类型
     */
    public enum OSType {
        /**
         * mac os 苹果系统
         */
        MAC,

        /**
         * windows 微软苹果系统
         */
        WIN,

        /**
         * linux 系统
         */
        LINUX,

        /**
         * 不支持
         */
        NOT_SUPPORT
    }

    /**
     * 获取运行的操作系统类型
     *
     * @return
     */
    public static OSType getSystemOSType() {
        if (OS.startsWith(CONST_WIN)) {
            return OSType.WIN;
        } else if (OS.startsWith(CONST_MAC)) {
            return OSType.MAC;
        } else if (OS.indexOf(CONST_NIX) >= 0 || OS.indexOf(CONST_NUX) >= 0 || OS.indexOf(CONST_AIX) > 0) {
            return OSType.LINUX;
        } else {
            return OSType.NOT_SUPPORT;
        }
    }
}
